﻿Imports WSEntidades
Imports Utilerias
Imports WSDatos
Public Class ConfigComplementosBL
    Private Function EsValidoParaRegistrar(ByRef pConfigComplementos As ConfigComplementosBE, ByRef mensaje As String) As Boolean
        mensaje = ""
        Try
            If (String.IsNullOrEmpty(pConfigComplementos.Valor)) Then
                mensaje &= "El campo Valor no puede ir  vacio." & vbCrLf
            End If

            Return (mensaje = "")
        Catch ex As Exception
            Log.LogException(ex, "ConfigComplementosBL.EsValidoParaRegistrar")
            mensaje &= ex.Message
            Return False
        End Try
    End Function

    Public Function ActualizaConfigComplementos(ByVal TokenConexion As String, ByVal ConfigComplementos As ConfigComplementosBE, ByRef codigoResp As Integer, ByRef mensajes As String) As Boolean
        mensajes = ""
        Dim ConfigCompDAL As ConfigComplementosDAL = New ConfigComplementosDAL("")
        Try
            If (EsValidoParaRegistrar(ConfigComplementos, mensajes)) Then
                ConfigCompDAL = New ConfigComplementosDAL(RijndaelSimple.desencriptaDefault(TokenConexion))
                If (ConfigCompDAL.actualizaConfigComplementos(ConfigComplementos)) Then
                    codigoResp = 0
                    mensajes = "Datos de Configuración Complementos Actualizados."
                    Return True
                Else
                    codigoResp = 367
                    mensajes = "No se pudo realizar la actualización de Datos de Configuración Complementos."
                    Return False
                End If
            Else
                codigoResp = 1
                mensajes = "La informacion no es valida para actualizar: " & mensajes
                Return False
            End If
        Catch ex As Exception
            Log.LogException(ex, "ConfigComplementosBL.ActualizaConfigComplementos")
            codigoResp = 999
            mensajes = mensajes & "Excepción al actualizar Complementos: " & ex.Message
            Return False
        Finally
            ConfigCompDAL = Nothing
        End Try
    End Function

    Public Function GetConfigComplementos(ByVal tokenConexion As String, ByVal CveComp As String, ByRef codigoResp As Integer, ByRef mensajes As String) As ConfigComplementosBE
        mensajes = ""
        Dim configcompDAL As ConfigComplementosDAL = New ConfigComplementosDAL("")
        Dim configcompBE As ConfigComplementosBE
        Try
            If (EsValidoParaGetConfigComplementos(CveComp, mensajes)) Then
                configcompDAL = New ConfigComplementosDAL(RijndaelSimple.desencriptaDefault(tokenConexion))
                configcompBE = configcompDAL.getConfigComplementos(CveComp)
                If (configcompBE IsNot Nothing) Then
                    codigoResp = 0
                    mensajes = "Se obtuvo la información de Configuracion Complementos con éxito."
                    Return configcompBE
                Else
                    codigoResp = 368
                    mensajes = "No se obtuvo la información de Configuracion Complementos"
                    Return Nothing
                End If
            Else
                codigoResp = 1
                mensajes = "La Clave de Configuracion Complementos contiene valor invalido " & mensajes
                Return Nothing
            End If
        Catch ex As Exception
            Log.LogException(ex, "ConfigComplementosBL.GetConfigComplementos")
            codigoResp = 999
            mensajes = mensajes & "Excepción al obtener información de Configuración Complementos: " & ex.Message
            Return Nothing
        Finally
            configcompDAL = Nothing
            configcompBE = Nothing
        End Try
    End Function

    Private Function EsValidoParaGetConfigComplementos(ByRef pCveComp As String, ByRef mensaje As String) As Boolean
        mensaje = ""
        Try
            If (String.IsNullOrEmpty(pCveComp)) Then
                mensaje &= "El campo Clave de Configuración de Complementos no puede ir vacio." & vbCrLf
            End If
            Return (mensaje = "")
        Catch ex As Exception
            Log.LogException(ex, "ConfigComplementosBL.EsValidoParaGetConfigComplementos")
            mensaje &= ex.Message
            Return False
        End Try
    End Function
End Class
